﻿namespace Vdc.Interface
{
    using System;
    using System.ComponentModel;
    using System.Text;

    public class VdcButtonCssSettings : VdcPersistentObject
    {
        internal virtual string SerializeToJSON()
        {
            StringBuilder builder = new StringBuilder();
            builder.Append("{");
            builder.Append("'N': '" + this.Container_Normal + "',");
            builder.Append("'O': '" + this.Container_Over + "',");
            builder.Append("'P': '" + this.Container_Pressed + "',");
            builder.Append("'F': '" + this.Container_Focused + "',");
            builder.Append("'D': '" + this.Container_Disabled + "'");
            builder.Append("}");
            return builder.ToString();
        }

        [Category("CSS Settings"), Bindable(true), Description("CSS Class for the Container - Disabled State"), DefaultValue("ob_iBCD")]
        public string Container_Disabled
        {
            get
            {
                object obj2 = this.ViewState["Container_Disabled"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iBCD";
            }
            set
            {
                this.ViewState["Container_Disabled"] = value;
            }
        }

        [Description("CSS Class for the Container - Focused State"), Bindable(true), Category("CSS Settings"), DefaultValue("ob_iBCF")]
        public string Container_Focused
        {
            get
            {
                object obj2 = this.ViewState["Container_Focused"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iBCF";
            }
            set
            {
                this.ViewState["Container_Focused"] = value;
            }
        }

        [Bindable(true), DefaultValue("ob_iBCN"), Description("CSS Class for the Container - Normal State"), Category("CSS Settings")]
        public string Container_Normal
        {
            get
            {
                object obj2 = this.ViewState["Container_Normal"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iBCN";
            }
            set
            {
                this.ViewState["Container_Normal"] = value;
            }
        }

        [Description("CSS Class for the Container - Over State"), Category("CSS Settings"), DefaultValue("ob_iBCO"), Bindable(true)]
        public string Container_Over
        {
            get
            {
                object obj2 = this.ViewState["Container_Over"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iBCO";
            }
            set
            {
                this.ViewState["Container_Over"] = value;
            }
        }

        [Description("CSS Class for the Container - Pressed State"), Bindable(true), Category("CSS Settings"), DefaultValue("ob_iBCP")]
        public string Container_Pressed
        {
            get
            {
                object obj2 = this.ViewState["Container_Pressed"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iBCP";
            }
            set
            {
                this.ViewState["Container_Pressed"] = value;
            }
        }

        [Description("CSS Class for the Input Element"), DefaultValue("ob_iTIE"), Bindable(true), Category("CSS Settings")]
        public string InputElement
        {
            get
            {
                object obj2 = this.ViewState["InputElement"];
                if (obj2 != null)
                {
                    return obj2.ToString();
                }
                return "ob_iTIE";
            }
            set
            {
                this.ViewState["InputElement"] = value;
            }
        }
    }
}

